package top.tangyh.lamp.care.vo.result;

import cn.hutool.core.map.MapUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import java.sql.Blob;
import java.time.LocalDateTime;
import java.util.Map;

import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import top.tangyh.basic.base.entity.Entity;
import top.tangyh.basic.interfaces.echo.EchoVO;
import top.tangyh.lamp.care.entity.BPgSrxDetailNormal;

import java.io.Serializable;

/**
 * <p>
 * 表单查询方法返回值VO
 * 评估评分明细内容
 * </p>
 *
 * @author zqb
 * @date 2024-07-10 08:51:41
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@Schema(description = "评估评分明细内容")
public class BPgSrxDetailNormalResultVO  implements Serializable, EchoVO {

    private static final long serialVersionUID = 1L;

    private Map<String, Object> echoMap = MapUtil.newHashMap();

    @Schema(description = "")
    private Long id;

    /**
    * 评估评分id
    */
    @Schema(description = "评估评分id")
    private Long pgId;
    /**
    * 输入项id
    */
    @Schema(description = "输入项id")
    private Long pgSrxId;
    /**
    * 明细的类型
    */
    @Schema(description = "明细的类型")
    private String detailTypeCode;
    /**
    * 是否自定义 0false1true 默认0
    */
    @Schema(description = "是否自定义 0false1true 默认0")
    private Integer isDiy;
    /**
    * 明细内容
    */
    @Schema(description = "明细内容")
    private String detailContent;
    /**
    * 分值
    */
    @Schema(description = "分值")
    private BigDecimal score;
    /**
    * 明细缩写
    */
    @Schema(description = "明细缩写")
    @Size(max = 8, message = "明细缩写长度不能超过{max}")
    private String shortName;
    /**
    * 
    */
    @Schema(description = "")
    private String orders;

    /**
    * 区间结束值
    */
    @Schema(description = "区间结束值")
    private BigDecimal rangeEnd;
    /**
    * 区间开始值
    */
    @Schema(description = "区间开始值")
    private BigDecimal rangeStart;
    /**
    * 描述
    */
    @Schema(description = "描述")
    private String descs;

    public BPgSrxDetailNormalResultVO(BPgSrxDetailNormal normalPO) {
        this.id = normalPO.getId();
        this.pgId = normalPO.getPgId();
        this.pgSrxId = normalPO.getPgSrxId();
        this.detailTypeCode = normalPO.getDetailTypeCode();
        this.detailContent = normalPO.getDetailContent();
        this.score = normalPO.getScore();
        this.shortName = normalPO.getShortName();
        this.rangeStart = normalPO.getRangeStart();
        this.rangeEnd = normalPO.getRangeEnd();
        this.descs = normalPO.getDescs();
        this.orders = normalPO.getOrders();
    }
//    public BPgSrxDetailNormalResultVO(BPgSrxDetailNormal bPgSrxDetailNormal) {
//    }
}
